System and method for utilizing thresholds during a dynamic display of data relationships between static charts

ABSTRACT

Method and system aspects for utilizing thresholds during the display of dynamically displayed charts are described. The aspects include obtaining data from first and second static charts and setting a value criteria. Data from the first static chart is displayed as a beginning chart, and the displayed data is adjusted from the first static chart to visually indicate a change in the data required by the data from the second static chart as an ending chart. The aspects further include comparing the value criteria to the displayed data, and halting the displaying of the data when the value criteria has been met.

RELATED APPLICATIONS

The present application is related to co-pending U.S. patent applicationSer. No. 09/123,716, entitled SYSTEM AND METHOD FOR DYNAMICALLYDISPLAYING DATA RELATIONSHIPS BETWEEN STATIC CHARTS, and assigned to theassignee of the present invention.

FIELD OF THE INVENTION

The present invention relates to dynamic presentations of static chartdisplays, and more particularly, to utilizing thresholds during dynamicpresentations of static chart displays.

BACKGROUND OF THE INVENTION

The abundance of information generated in today's computer world isever-increasing. Databases and spreadsheet programs assist in storingand entering data in a variety of categories. Data analysis typicallyutilizes some form of graphical displays of stored data. Most graphicaldisplays represent either discrete time intervals, or a summary ofchosen data from multiple time intervals.

Charts of discrete time intervals are, by nature, mere snapshots ofdata. These chart displays of historical data are thus difficult to viewand understand in order to see trends in the data. Further, a series ofrelated charts that display similar data but vary by some criterion,e.g., days, are tedious to view, especially when there are large numbersof charts. When related charts are displayed together, e.g., across adesktop display of a computer system, identifying the correlation amongthe charts is difficult, and even when viewed separately butconsecutively, such as in a slide show, the display is normally choppyand difficult to control. Thus, viewers are required to rememberinformation from each static chart/display over a large number ofcharts. Such requirements result in a less intuitive method of display.Summary displays are somewhat more intuitive than individual staticdisplays. However, as summary charts, they do not usually provide thelevel of detail that individual static charts provide.

A need exists for establishing thresholds for customizing how the chartdata is viewed and for assisting in interpreting trends during chartanalysis. The present invention addresses such a need.

SUMMARY OF THE INVENTION

The present invention provides method and system aspects for utilizingthresholds during the display of dynamically displayed charts. Theaspects include obtaining data from first and second static charts andsetting a value criteria. Data from the first static chart is displayedas a beginning chart, and the displayed data is adjusted from the firststatic chart to visually indicate a change in the data required by thedata from the second static chart as an ending chart. The aspectsfurther include comparing the value criteria to the displayed data, andhalting the displaying of the data when the value criteria has been met.

The present invention provides a beneficial, meaningful way to adjustthe display of data variations among related, static charts to achievemore flexibility during displayed data transitioning. Throughprogressive displaying of intermediate charts, the impression ofcontinuity and an intuitive understanding of chart relationships aregiven. With the use of low or high threshold values for controlling thedisplay by establishing a potential stop point during the display,better approximation of a distance between the charts is displayed,giving the user a more precise indication of the time at which the datacrossed the threshold value. These and other advantages of the aspectsof the present invention will be more fully understood in conjunctionwith the following detailed description and accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a computer system suitable for embodying the presentinvention.

FIG. 2 illustrates a flow diagram of a process for generating dynamiccharts.

FIGS. 3a, 3 b, 3 c, 3 d, and 3 e illustrate an example of successivecharts for dynamic transitioning between two static charts.

FIG. 4 illustrates a block diagram for utilizing thresholds to controlthe dynamic display of data in accordance with the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention relates to utilizing thresholds to control thedynamic presentation of data relationships between static charts. Thefollowing description is presented to enable one of ordinary skill inthe art to make and use the invention and is provided in the context ofa patent application and its requirements. Various modifications to thepreferred embodiment will be readily apparent to those skilled in theart and the generic principles herein may be applied to otherembodiments. Thus, the present invention is not intended to be limitedto the embodiment shown but is to be accorded the widest scopeconsistent with the principles and features described herein.

The present invention is suitably embodied in a computer system such assystem 100 shown in FIG. 1 which includes: a central processor 101; amain memory 102; an input/output controller 103; a keyboard 104; apointing device 105 (e.g., a mouse, trackball, pen device, or the like);a display device 106; and a mass storage device 107 (e.g., a hard disk).Additional input/output devices, such as a printing device 108, may beincluded in the system 100 as desired. As shown, the various componentsof system 100 communicate through a system bus 110 or similararchitecture. The system 100 suitably represents an IBM-compatiblepersonal computer system, available from a variety of vendors, includingIBM Corporation, Armonk, N.Y. System 100 operates in accordance with anoperating system and one or more application programs, as is wellunderstood by those skilled in the art.

In the present invention, generation of dynamic charts from static datacharts provides more intuitive presentation of trends exhibited by thestatic charts. A flow diagram of a preferred process of generatingdynamic charts via a suitable programming routine from a computerreadable medium is described with reference to FIG. 2, while FIGS. 3a, 3b, 3 c, 3 d, and 3 e illustrate an example of successive charts thatwould provide a dynamic transition from an initial static chart (FIG.3a) to an ending static chart (FIG. 3e). It should be appreciated thatFIG. 2 illustrates one embodiment of a sequence of steps. This is meantto be illustrative of a preferred embodiment. Other sequences may beutilized to achieve the dynamic chart presentation in accordance withthe present invention in which data is obtained from static charts withthe display of the data from a first chart adjusted to visually indicatea change in the data required by a second chart, as described in moredetail hereinbelow.

With reference to FIG. 2, a general algorithm initiates with adetermination of a number of intermediate points that are to be used ingenerating the dynamic charts (step 200). For example, thirty points hasbeen found to work well by the inventors, but the number chosen isdesign dependent, e.g., dependent upon the desired smoothness oftransition, as well as the processing capabilities of a given system.For the example shown in FIGS. 3a-3 e, the number of intermediate pointsis four. The process then continues with a selection of a desiredinterpolation algorithm for interpolating between points (step 202), forexample, a linear interpolation algorithm. Preferably, the actual methodof interpolation is selectable, either by multi-selection logic or usingobject-oriented technology, as is well understood by those skilled inthe art. It should be appreciated, however, that while the selection ofa desired algorithm allows greater flexibility in customizing howtransitions occur between the intermediate points, the desired manner ofperforming the transition between points can be programmed directly,thus making the selection step unnecessary in such processes.

Once the number of points and interpolation algorithm are chosen, thedata stored in memory, e.g., from a spreadsheet program, database, orthe like in storage 107, is retrieved for the beginning static chart(step 204) and the ending static chart (step 206). Suitably, the chartshave similar data in a consistent display (e.g., similar axes, scales,titles, footnotes, etc.). Based on the interpolation algorithm andnumber of points between the beginning and ending static charts, theintermediate charts are generated (step 208). The dynamic display thenoccurs (step 210) by displaying the intermediate charts successivelyfrom the beginning chart through to the ending chart. Thus, thebeginning chart is displayed and overlaid by an initial intermediatechart at a specified interval avoiding flicker/visual distraction, withthe overlay repeated for each next intermediate chart until the endingstatic chart is displayed. For a group of static charts that has morethan two static charts, e.g., monthly static charts from an initialstatic chart of January through a final static chart of December, theending chart of each set of two charts suitably becomes the beginningchart for a next set of two charts, and the process is repeated untilall the static charts in the group have been displayed.

To make the display smooth, preferably the well-known graphicstechniques of tweening and morphing are employed, where tweeningsuitably refers to a technique where intermediate views are created byalgorithmic interpolation of points, objects pictures, etc., between astarting display and an ending display. Usually, the view ismathematically the half point between the two displays. Tweens representstatic views between other static views. Morphing suitably refers to atechnique where one view is gradually changed from the initial view intothe target view by some technique. Usually, morphing applies to graphics(pictures) and is a dynamic process. Morphing may use tweening todetermine its intermediate states but is not limited to such atechnique.

In general, pseudo-code for the process of steps 204, 206, 208, and 210illustrated in FIG. 2 is described by:

FOR count=1 TO number_charts−1

generate n intermediate_charts between chart[count] and

chart[count+1]

display static chart[count]

FOR index=1 TO intermediate_steps

wait specified interval

display intermediate_chart[index]

END

END

wait specified time interval

display static chart[number_charts]

In generating the intermediate charts, the chart data is suitablyrepresented as a matrix, e.g., a two-dimensional matrix. The followingdescribes generation of intermediate charts in terms of pseudo-code fora two-dimensional matrix.

BEGIN

FOR i=1 TO shape_dimension_(—)1

FOR j=1 TO shape_dimension_(—)2

intermediate_chart[i,j]=

Interpolate_data(first_chart[i,j],

last_chart[i,j],

index)

END

END

return intermediate_chart

END

Pseudo-code for the Interpolate_data is suitably described by:

BEGIN

return ((second_datum—first_datum)/

(intermediate_steps+1)×index)

END

As an example with four intermediate steps between a beginning andending static chart, FIG. 3a illustrates an initial static chart wheretwo categories, ‘X’ and ‘Y’, are plotted, while FIG. 3e illustrates afinal static chart for categories ‘X’ and ‘Y’. In the example, theinitial value for category ‘Y’ is 20 (FIG. 3a), and the final value forcategory ‘Y’ is 40 (FIG. 3e). Category ‘X’ remains unchanged. With adifference of twenty between the initial and final values of category‘Y’ and a chosen number of four intermediate steps, a linearinterpolation of the data results in a change of five units perintermediate step. Thus, FIG. 3b illustrates a change from twenty totwenty-five in category ‘Y’, FIG. 3c illustrates a change fromtwenty-five to thirty, FIG. 3d illustrates a changes from thirty tothirty-five, and FIG. 3e illustrates the final change from thirty-fiveto forty, with the change in value demonstrated by the dashed areas inthe FIGS. 3b, 3 c, and 3 d. Of course, the dashing is meant to moredistinctively represent the effect of the interpolated steps in thefigures, but these dashed areas would not be displayed as such in anactual display. While it is difficult to fully represent the dynamicnature of a display from the initial static chart of FIG. 3a to thefinal static chart of FIG. 3e through sequential figures, when thecharts of FIGS. 3a-3 e are displayed, one overlaying the previous, ananimated view is created in which the value of ‘Y’ grows from 20 to 40.

Thus, a relationship between static charts for all related informationis more effectively presented. Dynamic charts display the information onone view by progressively overlaying older views with newer ones. Datacan be interpolated between actual points by any numerical methodpreferred.

Further control of the display of these charts through the establishmentand utilization of threshold values gives control over how the chartsare viewed. In general, in the present invention, before dynamic chartsare being displayed, thresholds are set for specific values. The displayof the dynamic charts is stopped at the first static or intermediatechart that has a value that violates the thresholds. A threshold, eitherhigh or low, is set for any value, a certain series value or a certaincategory value, where a category refers to a major grouping along thex-axis (i.e., a first index [i] within the data matrix), and a seriesrefers to a minor grouping of a category (i.e., a second index [j]within the data matrix). High thresholds refer to those values that arelarger than the maximum desired data, and when the data is equal to orgreater than the high threshold, the dynamic display stops. Lowthresholds refer to those values that are smaller than the minimumdesired data, and when the data is equal to or less than the lowthreshold, the dynamic display stops. For example, in the dynamicdisplay representation of FIGS. 3a-3 e, the value of category ‘Y’changes from 20 to 40. If a high threshold value of 30 were set prior tothe displaying, the dynamic display would be controlled to stop when thevalue of 30 were reached/exceeded. Thus, the dynamic display would haltat the intermediate chart of FIG. 3c.

In order to provide for the utilization of thresholds to control thedynamic display of charts, the previously presented pseudo-code isaltered. Prior to the point of beginning the computation forintermediate charts, the thresholds are preferably set, such as throughtheir selection via a GUI (graphical user interface) dialog thatspecifies a high or low threshold. In a preferred embodiment, either ahigh or a low threshold may be set, but not both. Further, either a highor low threshold may be disabled to allow the chart values to remainuntested for their display.

Implementation of the threshold value checking introduces additionalsteps in the previously presented pseudo-code at the point where the‘wait specified interval’ is executed. The pseudo-code is suitablymodified as follows:

FOR count=beginning_chart TO ending_chart

generate n intermediate_charts between chart[count] and

chart[count+1]

display static chart[count]

FOR index=1 TO intermediate_steps

IF either_high_threshold_enabled==TRUE

IF high_threshold_category_enabled==TRUE

start_i=high_threshold_category_number

end_i=high_threshold_category_number

ELSE

start_i=1

end_i=shape_dimension_(—)1

ENDIF

IF high_threshold_series_enabled==TRUE

start_j=high_threshold_series_number

end_j=high_threshold_series_number

ELSE

start_j=1

end_j=shape_dimension_(—)2

ENDIF

ELSEIF either_low_threshold_enabled==TRUE

IF low_threshold_category_enabled==TRUE

start_i=low_threshold_category_number

end_i=low_threshold_category_number

ELSE

start_i=1

end_i=shape_dimension_(—)1

ENDIF

IF low_threshold_series_enabled==TRUE

start_j=low_threshold_series_number

end_j=low_threshold_series_number

ELSE

start_j=1

end_j=shape_dimension_(—)2

ENDIF

ELSE

start_i=1

end_i=shape_dimension_(—)1

start_j=1

end_j=shape_dimension_(—)2

ENDIF

FOR i=start_i to end_i

FOR j=start_j to end_j

IF intermediate_chart[i,j]<=low_threshold_value OR

intermediate_chart[i,j]>=high_threshold_value

 Generate_control_event(STOP)

 BREAK/*exit for both FOR loops*/

END

END

SWITCH (control_event)

FOR index=first_step TO last_step

SWITCH (control_event)

CASE stop

delay=infinite

END

display intermediate_chart[index]

END

END

wait delay

display static chart[number_charts]

FIG. 4 illustrates a flow diagram representing the utilization ofthresholds during the generation and display of dynamic charts (i.e.,step 208 and 210 of FIG. 2). Referring to FIG. 4, the utilizationincludes setting the thresholds (step 300), e.g., via a GUI. The displayof chart(s) then occurs (step 302) which causes the threshold value tobe compared with the appropriate value in the current chart data (step304). Thus, a determination of whether the data is greater than or equalto a high threshold value is made (step 306). If not greater than orequal to a high threshold value, a determination is made as to whetherthe data is less than or equal to a low threshold value (step 308). If aspecific category or specific series threshold is set, only the valuesspecific to the selected category or series are checked to determine ifany value has gone outside of the acceptable range. When the thresholdvalue criteria has been met (i.e., either step 306 or 308 isaffirmative) and the value does fall outside of the desired range, astop control event is generated (step 310) to halt the dynamic display.When the data does not meet the criteria, the dynamic display continues(step 312), so that the threshold is continued to be checked during thedynamic display.

The halting of the display suitably occurs via generation of a stopcontrol event that alters the display speed of the charts, with a delayrange set to infinite for the stop control event. It should beappreciated that other control events may be utilized during the dynamicdisplay of charts that enhance the control of the display to allow usersto alter the display to be faster or slower and in a forward or reversedirection. The details of the addition of these control events to thedynamic display are described in co-pending U.S. patent application,Ser. No. 09/323,164, entitled System and Method for Controlling aDynamic Display of Data Relationships between Static Charts, assigned tothe assignee of the present invention, and incorporated by referenceherein in its entirety.

Through the present invention, the ability to utilize threshold valuesand provide control of dynamic displays of static chart data isachieved. Through this control, greater convenience results, as usersare able to more quickly analyze data relative to desired maximum orminimum values in comparison to the data provided by the static chartsas the static charts are dynamically displayed.

Although the present invention has been described in accordance with theembodiments shown, one of ordinary skill in the art will readilyrecognize that there could be variations to the embodiments and thosevariations would be within the spirit and scope of the presentinvention. Accordingly, many modifications may be made by one ofordinary skill in the art without departing from the spirit and scope ofthe appended claims.

What is claimed is:
 1. A method for utilizing thresholds during thedisplay of dynamically displayed charts, the method comprising:obtaining data from first and second static charts; setting a valuecriteria; displaying data from the first static chart as a beginningchart; adjusting the displayed data from the first static chart tovisually indicate a change in the data required by the data from thesecond static chart as an ending chart; comparing the value criteria tothe displayed data to determine whether to halt the display; and haltingthe displaying of the data when the value criteria has been met.
 2. Themethod of claim 1 wherein setting the value criteria further comprisessetting a maximum value threshold.
 3. The method of claim 2 wherein themaximum value threshold further comprises maximum category threshold. 4.The method of claim 2 wherein the maximum threshold further comprises amaximum series threshold.
 5. The method of claim 1 wherein setting thevalue criteria further comprises setting a minimum threshold.
 6. Themethod of claim 5 wherein the minimum value threshold further comprisesminimum category threshold.
 7. The method of claim 5 wherein the minimumvalue threshold further comprises a minimum series threshold.
 8. Themethod of claim 1 wherein adjusting further comprises determining anumber of steps desired between the first and second static charts,selecting an interpolation algorithm to process changes in data betweenthe first and second static charts, generating intermediate charts fromthe obtained data wherein the number of steps desired determines anumber of intermediate charts generated, and displaying the intermediatecharts through overlaying of one intermediate chart over another tovisually indicate the change in data between the intermediate charts. 9.The method of claim 8 wherein halting the displaying of data furthercomprises generating a stop control event to halt the displaying of thedata at the intermediate chart that meets the value criteria.
 10. Themethod of claim 9 wherein generating a stop control event furthercomprises adjusting the display with an infinite delay interval.
 11. Asystem for utilizing thresholds during a dynamic display of static chartdata, the system comprising: memory storage for storing data from atleast two static charts; a display for displaying the stored data; and aprocessor coupled to the display and to the memory storage forsupporting a process of obtaining data from first and second staticcharts stored in the memory, setting a value criteria, displaying thedata from the first static chart as a beginning chart on the display,adjusting the displayed data from the first static chart to visuallyindicate a change in the data required by the data from the secondstatic chart to display as an ending chart, comparing the value criteriato the displayed data to determine whether to halt the display, andhalting the displaying when the value criteria has been met.
 12. Thesystem of claim 11 wherein adjusting further comprises determining anumber of steps desired between the first and second static charts,selecting an interpolation algorithm to process changes in data betweenthe first and second static charts, generating intermediate charts fromthe obtained data wherein the number of steps desired determines anumber of intermediate charts generated, and displaying the intermediatecharts through overlaying of one intermediate chart over another in thedirection and with a preset delay interval to visually indicate thechange in data between the intermediate charts.
 13. The system of claim12 wherein halting further comprises generating a stop control event.14. The system of claim 13 wherein a stop control event furthercomprises adjusting the display with an infinite delay interval.
 15. Thesystem of claim 11 wherein the value criteria further comprises acategory having a maximum value or minimum value threshold.
 16. Thesystem of claim 11 wherein the value criteria further comprises a serieshaving a maximum value or minimum value threshold.
 17. A method forutilizing thresholds during a dynamic display of data between two staticcharts, the method comprising: determining a number of intermediatecharts between first and second static charts; retrieving data for thefirst static chart; retrieving data for the second static chart; settinga threshold value; generating the number of intermediate charts;displaying the first static chart; and overlaying the display with eachgenerated intermediate chart by determining that the generatedintermediate chart does not violate the threshold value to control thedynamic display of the data from the first static chart to the secondstatic chart by not halting the dynamic display.
 18. The method of claim17 wherein when the generated intermediate chart does violate thatthreshold value, the method further comprises generating a stop controlevent.
 19. The method of claim 18 wherein generating a stop controlevent establishes an infinite delay to halt the dynamic display.
 20. Themethod of claim 17 wherein setting a threshold value further comprisessetting a limit for a range of values for one of the group consisting ofa category and a series value.